Intégration de systèmes d'imagerie tiers
Il est possible d'intégrer le dépôt Multimédia avec des systèmes d'imagerie tiers. Au lieu de spécifier un emplacement sur le serveur comme Valeur de l'entrée de Registre ServerMediaPath, on utilise l'extension exec
pour exécuter un programme côté serveur. Par exemple :
System|Path|ServerMediaPath|exec imagehandler
indique qu'un programme appelé imagehandler
situé sur le serveur EMu doit être utilisé pour traiter toutes les demandes multimédia. Le programme doit gérer cinq types de services :
Arguments :
get
filepath
Valeur de retour si l'opération échoue :
Status: failed
Valeur de retour si l'opération réussie :
Status: success
pathtofile
Le service get est utilisé pour récupérer un fichier dans un magasin d'images tiers. L'argument filepath est le composant répertoire généré pour le NEI de l'enregistrement multimédia, auquel est ajouté filename. filepath est la ressource à récupérer. Pour répondre à cette demande, le programme doit extraire la ressource de sa zone de stockage et la copier dans un emplacement du système de fichiers Unix (normalement /tmp). Le chemin complet du fichier temporaire doit être fourni comme valeur de retour pathtofile. EMu va alors copier le fichier sur la machine client et supprimer le fichier temporaire du serveur.
Il est important de s'assurer qu'un chemin d'accès à l'image originale n'est pas transmis, car EMu essaiera de le supprimer après avoir copié le fichier sur le client.
Arguments :
save
filepath tmppath
Valeur de retour si l'opération échoue :
Status: failed
Valeur de retour si l'opération réussie :
Status: success
Le service save est utilisé pour enregistrer un fichier dans le magasin d'images d'un tiers. L'argument filepath est le nom de ressource généré composé du NEI multimédia et de filename. L'argument tmppath est un chemin vers le fichier à sauvegarder. Le fichier tmppath est stocké sur le serveur EMu (normalement dans /tmp). Une fois que l'image a été copiée dans la zone de stockage tierce, le fichier tmppath doit être supprimé, car EMu ne le supprime pas une fois la sauvegarde terminée.
Arguments :
list
folder
Valeur de retour si l'opération échoue :
Status: failed
Valeur de retour si l'opération réussie :
Status: success
file1
file2
...
Le service list
permet de lister tous les fichiers associés à un NEI d'enregistrement multimédia donné. L'argument folder est le nom du chemin généré pour un NEI multimédia donné. Par exemple, NEI 12010 donnerait un folder 12/010. Il est nécessaire de dresser une liste de tous les fichiers associés à ce folder (ou NEI). Les fichiers sont renvoyés un par ligne dans la section des données du message de retour.
Arguments :
ping
filepath
Valeur de retour si l'opération échoue :
Status: failed
Valeur de retour si l'opération réussie :
Status: success
Last-modified:
unxitime
Content-Length:
filesizeinbytes
L'opération ping
est utilisée pour obtenir la taille et l'heure de modification d'un fichier. L'argument filepath est le chemin d'accès au fichier dont on souhaite obtenir les informations. La valeur unixtime retournée correspond à la dernière heure de modification du fichier en secondes depuis le premier janvier 1970. La valeur filesizeinbytes est la taille du fichier en bits.
Arguments :
remove
filepath
Valeur de retour si l'opération échoue :
Status: failed
Valeur de retour si l'opération réussie :
Status: success
L'opération remove
est utilisée pour supprimer un fichier dans un système externe de sauvegarde. L'argument filepath est le chemin d'accès au fichier à supprimer.
Lorsque le programme est appelé sur le serveur, l'opération demandée est saisit comme premier argument (c.-à-d. get, save, list, ping ou remove). Le programme renvoie ensuite un statut pour indiquer si l'opération est réussie. Le statut de l'information principale en texte est retourné par le programme. Un exemple de valeurs retournées par un programme :
Status: success (header section)
/tmp/filename (data section)
Chaque retour d'information consiste en une section principale et une section de données optionnelles.
La plupart des services sont appelés avec un filepath comme argument. Le filepath est la partie du chemin de répertoire qui est calculée à partir du NEI de l'enregistrement multimédia avec le filename ajouté. Ainsi, si nous avons un fichier file.jpg qui est associé à l'enregistrement multimédia NEI 12010, le filepath serait 12/010/file.jpg.